prevent implicit hydration when checking PIN state
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>
Fri, 3 Jan 2025 14:34:07 +0000 (15:34 +0100)
committerMatthieu Gallien <matthieu.gallien@nextcloud.com>
Fri, 3 Jan 2025 16:14:28 +0000 (17:14 +0100)
to enable move to trash, we check availability of a folder recursively

that will trigger implicit hydration of its content

we will now prevent moving to trash for VFS CfApi native VFS on Windows

will fix teh bug and probably be much more robust and reliable

Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
src/libsync/propagatorjobs.cpp

index 6d1bb1b6fddcf2ca1595d441d1a9c3f66b1387df..99e69719dac23a45eb5f0a4d0e8e485d82394d0b 100644 (file)
@@ -118,7 +118,7 @@ void PropagateLocalRemove::start()
 
     QString removeError;
     const auto availability = propagator()->syncOptions()._vfs->availability(_item->_file, Vfs::AvailabilityRecursivity::RecursiveAvailability);
-    if (_moveToTrash && (!availability || (*availability != VfsItemAvailability::AllDehydrated && *availability != VfsItemAvailability::OnlineOnly && *availability != VfsItemAvailability::Mixed))) {
+    if (_moveToTrash && propagator()->syncOptions()._vfs->mode() != OCC::Vfs::WindowsCfApi) {
         if ((QDir(filename).exists() || FileSystem::fileExists(filename))
             && !FileSystem::moveToTrash(filename, &removeError)) {
             done(SyncFileItem::NormalError, removeError, ErrorCategory::GenericError);